import express from 'express'
var router = express.Router();
// import {SeniverseV3} from 'seniverse-api'
import { getGaodeWhether } from '../../../api/index.js';

/** 心知天气 */
// const config = {
//   encryption: {
//     uid: process.env.PUBLIC_KEY, // 公钥
//     key: process.env.SECRET_KEY, // 私钥
//     ttl: 10000, // 签名失效时间
//     enabled: false // 是否进行签名验证
//   },
//   query: {
//     unit: 'c', // 单位
//     language: process.env.LANGUAGE, // 结果返回语言
//     timeouts: [3000, 3000], // 重试次数和超时时间
//   },
//   // 内存缓存
//   cache: {
//     ttl: 100, // 缓存时间，单位为秒，可以为 'auto'
//     max: 1000, // 缓存数据条数
//     enabled: false // 是否开启缓存
//   },
//   returnRaw: false // 是否直接返回 API 原始数据
// }

// const seniverseV3 = new SeniverseV3(config)
// seniverseV3.options = config

// 调用 https://api.seniverse.com/v3/weather/daily.json
// await seniverseV3.request(
//   '/weather/daily',
//   { days: 2, start: -1, location: 'beijing' }
// )

// 调用 https://api.seniverse.com/v3/air/hourly_history.json
// await seniverseV3.request(
//   '/air/hourly_history',
//   { scope: 'city', location: 'beijing' }
// )

// const = (req, res, next) => {
//   Object.assign(seniverseV3.options.query,req.body)
//   next()
// } 



/** 高德天气 */
const key = process.env.GAODE_KEY


/**
 * 未来15天逐日天气预报和昨日天气
 */
router.post('/daily', async (req, res, next) => {
  req.body.key = key
  getGaodeWhether(req.body).then((result) => {
    res.json(req.app.locals.success(result.forecasts))
  }).catch((err) => {
    res.json(req.app.locals.error(err))
  });
  // try {
  //   const result = await seniverseV3.request(
  //     '/weather/daily',
  //     {scope: 'city',...req.body}
  //   )
  //   res.json(req.app.locals.success(result))
  // } catch (error) {
  //   res.json(req.app.locals.error(error))
  // }
})

/**
 * 整点实况
 */
router.post('/station', async (req, res, next) => {
  req.body.key = key
  getGaodeWhether(req.body).then((result) => {
    
    res.json(req.app.locals.success(result))
  }).catch((err) => {
    res.json(req.app.locals.error(err))
  });
  
  // try {
  //   const result = await seniverseV3.request(
  //     '/weather/station/now',
  //     {scope: 'city',...req.body}
  //   )
  //   res.json(req.app.locals.success(result))
  // } catch (error) {
  //   res.json(req.app.locals.error(error))
  // }
})
/**
 * 天气实况
 */
router.post('/now', async (req, res, next) => {

  
  try {
    const result = await seniverseV3.request(
      '/weather/now',
      {scope: 'city',...req.body}
    )
    res.json(req.app.locals.success(result))
  } catch (error) {
    res.json(req.app.locals.error(error))
  }
})

/**
 * 24小时逐小时实况
 */
router.post('/hourly', async (req, res, next) => {

  try {
    const result = await seniverseV3.request(
      '/weather/hourly',
      {scope: 'city',...req.body}
    )
    res.json(req.app.locals.success(result))
  } catch (error) {
    res.json(req.app.locals.error(error))
  }
})

/**
 * 生活指数
 */
router.post('/life-suggestion', async (req, res, next) => {

  try {
    const result = await seniverseV3.request(
      '/life/suggestion',
      {scope: 'city',...req.body}
    )
    res.json(req.app.locals.success(result))
  } catch (error) {
    res.json(req.app.locals.error(error))
  }
})

/**
 * 生活指数
 */
router.post('/chinese-calendar', async (req, res, next) => {

  try {
    const result = await seniverseV3.request(
      '/life/chinese_calendar',
      {scope: 'city',...req.body}
    )
    res.json(req.app.locals.success(result))
  } catch (error) {
    res.json(req.app.locals.error(error))
  }
})

/**
 * 日出日落
 */
router.post('/geo-sun', async (req, res, next) => {

  try {
    const result = await seniverseV3.request(
      '/geo/sun',
      {scope: 'city',...req.body}
    )
    res.json(req.app.locals.success(result))
  } catch (error) {
    res.json(req.app.locals.error(error))
  }
})

export default router
